package dominio;
// Generated 11-01-2014 10:14:49 AM by Hibernate Tools 3.6.0


import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Clientetarjetaestado generated by hbm2java
 */
@Entity
@Table(name="clientetarjetaestado"
    ,catalog="g1"
)
public class Clientetarjetaestado  implements java.io.Serializable {


     private ClientetarjetaestadoId id;
     private Establecimiento establecimiento;
     private Clientetarjeta clientetarjeta;
     private BigDecimal balanceActual;
     private Set transaccions = new HashSet(0);

    public Clientetarjetaestado() {
    }

	
    public Clientetarjetaestado(ClientetarjetaestadoId id, Establecimiento establecimiento, Clientetarjeta clientetarjeta, BigDecimal balanceActual) {
        this.id = id;
        this.establecimiento = establecimiento;
        this.clientetarjeta = clientetarjeta;
        this.balanceActual = balanceActual;
    }
    public Clientetarjetaestado(ClientetarjetaestadoId id, Establecimiento establecimiento, Clientetarjeta clientetarjeta, BigDecimal balanceActual, Set transaccions) {
       this.id = id;
       this.establecimiento = establecimiento;
       this.clientetarjeta = clientetarjeta;
       this.balanceActual = balanceActual;
       this.transaccions = transaccions;
    }
   
     @EmbeddedId

    
    @AttributeOverrides( {
        @AttributeOverride(name="fechaLimtePago", column=@Column(name="fechaLimtePago", nullable=false, length=10) ), 
        @AttributeOverride(name="idCliente", column=@Column(name="idCliente", nullable=false) ), 
        @AttributeOverride(name="idTarjetaCredito", column=@Column(name="idTarjetaCredito", nullable=false) ) } )
    public ClientetarjetaestadoId getId() {
        return this.id;
    }
    
    public void setId(ClientetarjetaestadoId id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="num_referencia", nullable=false)
    public Establecimiento getEstablecimiento() {
        return this.establecimiento;
    }
    
    public void setEstablecimiento(Establecimiento establecimiento) {
        this.establecimiento = establecimiento;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumns( { 
        @JoinColumn(name="idCliente", referencedColumnName="idCliente", nullable=false, insertable=false, updatable=false), 
        @JoinColumn(name="idTarjetaCredito", referencedColumnName="idTarjetaCredito", nullable=false, insertable=false, updatable=false) } )
    public Clientetarjeta getClientetarjeta() {
        return this.clientetarjeta;
    }
    
    public void setClientetarjeta(Clientetarjeta clientetarjeta) {
        this.clientetarjeta = clientetarjeta;
    }

    
    @Column(name="balance_actual", nullable=false, precision=11)
    public BigDecimal getBalanceActual() {
        return this.balanceActual;
    }
    
    public void setBalanceActual(BigDecimal balanceActual) {
        this.balanceActual = balanceActual;
    }

//@OneToMany(fetch=FetchType.LAZY, mappedBy="clientetarjetaestado")
   /* public Set getTransaccions() {
        return this.transaccions;
    }
    
    public void setTransaccions(Set transaccions) {
        this.transaccions = transaccions;
    }
*/



}


